/*
 * @name:
 * @test: test font
 * @msg:
 * @param:
 * @return:
 */
import store from "../store";
import Cache from "../utils/cache";
import util from "@/utils/util.js";
import { Debounce } from "@/utils/validate.js";
// #ifdef H5
import { isWeixin } from "../utils";
import auth from "./wechat";
// #endif

import {
  LOGIN_STATUS,
  USER_INFO,
  EXPIRES_TIME,
  STATE_R_KEY,
  BACK_URL,
} from "./../config/cache";

function prePage() {
  let pages = getCurrentPages();
  let prePage = pages[pages.length - 1];
  return prePage.route;
}

export const toLogin = Debounce(_toLogin, 800);

export function _toLogin(push, pathLogin) {
  store.commit("LOGOUT");
  uni.navigateTo({
    url: "/pages/users/login/index",
  });
}

export function checkLogin() {
  let token = Cache.get(LOGIN_STATUS);
  let expiresTime = Cache.get(EXPIRES_TIME);
  let newTime = Math.round(new Date() / 1000);
  if (expiresTime < newTime || !token) {
    Cache.clear(LOGIN_STATUS);
    Cache.clear(EXPIRES_TIME);
    Cache.clear(USER_INFO);
    Cache.clear(STATE_R_KEY);
    return false;
  } else {
    store.commit("UPDATE_LOGIN", token);
    let userInfo = Cache.get(USER_INFO, true);
    if (userInfo) {
      store.commit("UPDATE_USERINFO", userInfo);
    }
    return true;
  }
}
